\hypertarget{namespacemiddleware}{
\section{middleware Namespace Reference}
\label{namespacemiddleware}\index{middleware@{middleware}}
}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \hyperlink{classmiddleware_1_1Activity}{Activity}
\begin{DoxyCompactList}\small\item\em Represents an activity consisting in a workflow and in a workernetwork to connect a workflow to its minimum working set. \item\end{DoxyCompactList}\item 
class \hyperlink{classmiddleware_1_1Address}{Address}
\begin{DoxyCompactList}\small\item\em Represents a complete address for a peer. \item\end{DoxyCompactList}\item 
struct \hyperlink{structmiddleware_1_1PeersKnowledge}{PeersKnowledge}
\begin{DoxyCompactList}\small\item\em Represents a global reference to a PeersSet within its guard mutex. \item\end{DoxyCompactList}\item 
class \hyperlink{classmiddleware_1_1CORE}{CORE}
\begin{DoxyCompactList}\small\item\em Logic entry point for the application. \item\end{DoxyCompactList}\item 
class \hyperlink{classmiddleware_1_1CoreException}{CoreException}
\begin{DoxyCompactList}\small\item\em Represents an exception raised in \hyperlink{classmiddleware_1_1CORE}{CORE}. \item\end{DoxyCompactList}\item 
class \hyperlink{classmiddleware_1_1Data}{Data}
\begin{DoxyCompactList}\small\item\em Stores data of an executable task. \item\end{DoxyCompactList}\item 
struct \hyperlink{structmiddleware_1_1DataProxyConfig}{DataProxyConfig}
\begin{DoxyCompactList}\small\item\em Configuration for \hyperlink{classmiddleware_1_1DataManagerProxy}{DataManagerProxy}. \item\end{DoxyCompactList}\item 
class \hyperlink{classmiddleware_1_1DataManagerProxy}{DataManagerProxy}
\begin{DoxyCompactList}\small\item\em Proxy for communication between \hyperlink{classmiddleware_1_1Manager}{Manager} and \hyperlink{classmiddleware_1_1Worker}{Worker}. \item\end{DoxyCompactList}\item 
class \hyperlink{classmiddleware_1_1DataProxyFactory}{DataProxyFactory}
\begin{DoxyCompactList}\small\item\em Used to instantiate a \hyperlink{classmiddleware_1_1DataManagerProxy}{DataManagerProxy} object. \item\end{DoxyCompactList}\item 
class \hyperlink{classmiddleware_1_1DiscoveryProxyFactory}{DiscoveryProxyFactory}
\begin{DoxyCompactList}\small\item\em Instantiating a \hyperlink{classmiddleware_1_1WorkerDiscoveryProxy}{WorkerDiscoveryProxy} object. \item\end{DoxyCompactList}\item 
class \hyperlink{classmiddleware_1_1GenericException}{GenericException}
\begin{DoxyCompactList}\small\item\em Generic application exception. \item\end{DoxyCompactList}\item 
struct \hyperlink{structmiddleware_1_1ManagerConfig}{ManagerConfig}
\begin{DoxyCompactList}\small\item\em Configuration structure for \hyperlink{classmiddleware_1_1Manager}{Manager}. \item\end{DoxyCompactList}\item 
class \hyperlink{classmiddleware_1_1Manager}{Manager}
\begin{DoxyCompactList}\small\item\em Represents the \hyperlink{classmiddleware_1_1Manager}{Manager} of the peer. \item\end{DoxyCompactList}\item 
class \hyperlink{classmiddleware_1_1ProxyException}{ProxyException}
\begin{DoxyCompactList}\small\item\em Defines possible exceptions when using proxies. \item\end{DoxyCompactList}\item 
class \hyperlink{classmiddleware_1_1SynLogger}{SynLogger}
\begin{DoxyCompactList}\small\item\em Class for synchronized multithreaded logging. \item\end{DoxyCompactList}\item 
class \hyperlink{classmiddleware_1_1TaskDescriptor}{TaskDescriptor}
\begin{DoxyCompactList}\small\item\em Represents a collection of information for a task. \item\end{DoxyCompactList}\item 
struct \hyperlink{structmiddleware_1_1ManProxyConfig}{ManProxyConfig}
\begin{DoxyCompactList}\small\item\em Configuration for \hyperlink{classmiddleware_1_1TaskManagerProxy}{TaskManagerProxy}. \item\end{DoxyCompactList}\item 
class \hyperlink{classmiddleware_1_1TaskManagerProxy}{TaskManagerProxy}
\begin{DoxyCompactList}\small\item\em Proxy to let a \hyperlink{classmiddleware_1_1Manager}{Manager} communicate with another \hyperlink{classmiddleware_1_1Manager}{Manager}. \item\end{DoxyCompactList}\item 
class \hyperlink{classmiddleware_1_1TaskProxyFactory}{TaskProxyFactory}
\begin{DoxyCompactList}\small\item\em Instantiating a \hyperlink{classmiddleware_1_1TaskManagerProxy}{TaskManagerProxy} object. \item\end{DoxyCompactList}\item 
class \hyperlink{classmiddleware_1_1TQueueManager}{TQueueManager}
\begin{DoxyCompactList}\small\item\em Manages a queue of \hyperlink{classmiddleware_1_1TaskDescriptor}{TaskDescriptor}. \item\end{DoxyCompactList}\item 
struct \hyperlink{structmiddleware_1_1TProxyConfig}{TProxyConfig}
\begin{DoxyCompactList}\small\item\em Configuration for \hyperlink{classmiddleware_1_1TQueueManagerProxy}{TQueueManagerProxy}. \item\end{DoxyCompactList}\item 
class \hyperlink{classmiddleware_1_1TQueueManagerProxy}{TQueueManagerProxy}
\begin{DoxyCompactList}\small\item\em Managing communication between \hyperlink{classmiddleware_1_1Manager}{Manager} and \hyperlink{classmiddleware_1_1Worker}{Worker}. \item\end{DoxyCompactList}\item 
class \hyperlink{classmiddleware_1_1TQueueProxyFactory}{TQueueProxyFactory}
\begin{DoxyCompactList}\small\item\em Instantiating a \hyperlink{classmiddleware_1_1WorkerDiscoveryProxy}{WorkerDiscoveryProxy} object. \item\end{DoxyCompactList}\item 
struct \hyperlink{structmiddleware_1_1UIConfig}{UIConfig}
\begin{DoxyCompactList}\small\item\em Configuration for \hyperlink{classmiddleware_1_1UI}{UI}. \item\end{DoxyCompactList}\item 
class \hyperlink{classmiddleware_1_1UI}{UI}
\begin{DoxyCompactList}\small\item\em Class for \hyperlink{classmiddleware_1_1UI}{UI} component. \item\end{DoxyCompactList}\item 
class \hyperlink{classmiddleware_1_1WFQueueManager}{WFQueueManager}
\begin{DoxyCompactList}\small\item\em Manages the SynQueue of \hyperlink{classmiddleware_1_1Workflow}{Workflow}. \item\end{DoxyCompactList}\item 
struct \hyperlink{structmiddleware_1_1WFProxyConfig}{WFProxyConfig}
\begin{DoxyCompactList}\small\item\em Configuration for \hyperlink{classmiddleware_1_1WFQueueManagerProxy}{WFQueueManagerProxy}. \item\end{DoxyCompactList}\item 
class \hyperlink{classmiddleware_1_1WFQueueManagerProxy}{WFQueueManagerProxy}
\begin{DoxyCompactList}\small\item\em Managing communication between \hyperlink{classmiddleware_1_1UI}{UI} and \hyperlink{classmiddleware_1_1Manager}{Manager}. \item\end{DoxyCompactList}\item 
class \hyperlink{classmiddleware_1_1WFQueueProxyFactory}{WFQueueProxyFactory}
\begin{DoxyCompactList}\small\item\em Manages \hyperlink{classmiddleware_1_1WFQueueManagerProxy}{WFQueueManagerProxy} instantiation. \item\end{DoxyCompactList}\item 
struct \hyperlink{structmiddleware_1_1TDCEntry}{TDCEntry}
\begin{DoxyCompactList}\small\item\em An entry for the TDC table. \item\end{DoxyCompactList}\item 
struct \hyperlink{structmiddleware_1_1WConfig}{WConfig}
\begin{DoxyCompactList}\small\item\em Configuration for \hyperlink{classmiddleware_1_1Worker}{Worker}. \item\end{DoxyCompactList}\item 
class \hyperlink{classmiddleware_1_1Worker}{Worker}
\begin{DoxyCompactList}\small\item\em Class describing a \hyperlink{classmiddleware_1_1Worker}{Worker}. \item\end{DoxyCompactList}\item 
struct \hyperlink{structmiddleware_1_1WorkerCapabilities}{WorkerCapabilities}
\begin{DoxyCompactList}\small\item\em Describes a Worker's static information. \item\end{DoxyCompactList}\item 
class \hyperlink{classmiddleware_1_1WorkerDescriptor}{WorkerDescriptor}
\begin{DoxyCompactList}\small\item\em Describe a \hyperlink{classmiddleware_1_1Worker}{Worker} (dynamic and static information). \item\end{DoxyCompactList}\item 
struct \hyperlink{structmiddleware_1_1DiscoveryConfig}{DiscoveryConfig}
\begin{DoxyCompactList}\small\item\em Configuration for \hyperlink{classmiddleware_1_1WorkerDiscovery}{WorkerDiscovery}. \item\end{DoxyCompactList}\item 
class \hyperlink{classmiddleware_1_1WorkerDiscovery}{WorkerDiscovery}
\begin{DoxyCompactList}\small\item\em Class representing the \hyperlink{classmiddleware_1_1WorkerDiscovery}{WorkerDiscovery} of a peer. \item\end{DoxyCompactList}\item 
struct \hyperlink{structmiddleware_1_1WorkerDiscProxyConfig}{WorkerDiscProxyConfig}
\begin{DoxyCompactList}\small\item\em Configuration for \hyperlink{classmiddleware_1_1WorkerDiscoveryProxy}{WorkerDiscoveryProxy}. \item\end{DoxyCompactList}\item 
class \hyperlink{classmiddleware_1_1WorkerDiscoveryProxy}{WorkerDiscoveryProxy}
\begin{DoxyCompactList}\small\item\em Interface to communicate to \hyperlink{classmiddleware_1_1WorkerDiscovery}{WorkerDiscovery}. \item\end{DoxyCompactList}\item 
class \hyperlink{classmiddleware_1_1WorkerNetwork}{WorkerNetwork}
\item 
struct \hyperlink{structmiddleware_1_1WDProxyConfig}{WDProxyConfig}
\begin{DoxyCompactList}\small\item\em Configuration for \hyperlink{classmiddleware_1_1WorkerDescriptorManagerProxy}{WorkerDescriptorManagerProxy}. \item\end{DoxyCompactList}\item 
class \hyperlink{classmiddleware_1_1WorkerDescriptorManagerProxy}{WorkerDescriptorManagerProxy}
\begin{DoxyCompactList}\small\item\em Managing communication between \hyperlink{classmiddleware_1_1WorkerDiscovery}{WorkerDiscovery} and \hyperlink{classmiddleware_1_1Worker}{Worker}. \item\end{DoxyCompactList}\item 
class \hyperlink{classmiddleware_1_1WorkerDescriptorProxyFactory}{WorkerDescriptorProxyFactory}
\begin{DoxyCompactList}\small\item\em Manages \hyperlink{classmiddleware_1_1WorkerDescriptorManagerProxy}{WorkerDescriptorManagerProxy} instantiation. \item\end{DoxyCompactList}\item 
class \hyperlink{classmiddleware_1_1Workflow}{Workflow}
\begin{DoxyCompactList}\small\item\em Collection of TaskDescriptors. \item\end{DoxyCompactList}\item 
class \hyperlink{classmiddleware_1_1WorkflowException}{WorkflowException}
\begin{DoxyCompactList}\small\item\em Exception when handling a \hyperlink{classmiddleware_1_1Workflow}{Workflow}. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef std::string \hyperlink{namespacemiddleware_ac117dd2103801863d870e2ee58ec5779}{InetIpAddr}
\begin{DoxyCompactList}\small\item\em Internet Ip v4 address. \item\end{DoxyCompactList}\item 
typedef unsigned int \hyperlink{namespacemiddleware_a41f19ac55024737ec5b9d40def5f9c88}{InetPort}
\begin{DoxyCompactList}\small\item\em Represents an Internet TCP Port number ranging from 0 to 2$^\wedge$16. \item\end{DoxyCompactList}\item 
typedef std::vector$<$ \hyperlink{classmiddleware_1_1WorkerDescriptor}{WorkerDescriptor} $>$ \hyperlink{namespacemiddleware_a260b140db0d63fd94d8e480691e9ecb9}{PeersSet}
\begin{DoxyCompactList}\small\item\em Represents a collection of \hyperlink{classmiddleware_1_1WorkerDescriptor}{WorkerDescriptor}. \item\end{DoxyCompactList}\item 
typedef const std::string \hyperlink{namespacemiddleware_a5ac76a45f496f64a32f6c2e440ac6c6b}{ConfigParam}
\item 
typedef const std::string \hyperlink{namespacemiddleware_a59a0cef756ab3c62bed7fdf8caed80bd}{ConfigValue}
\item 
typedef unsigned int \hyperlink{namespacemiddleware_a04c885857128b27c686c14dd12a5d29c}{TaskId}
\item 
typedef std::string \hyperlink{namespacemiddleware_a8604fa240c1bc5cce03cede70be374c3}{TaskCommand}
\item 
typedef std::vector$<$ \hyperlink{structmiddleware_1_1TDCEntry}{TDCEntry} $>$ \hyperlink{namespacemiddleware_a9daf9b1bb6342602d1c9dc895781a0a9}{TaskDataCollection}
\item 
typedef unsigned int \hyperlink{namespacemiddleware_ad00b1f92b4e1b498a0e26fc2ae2adf98}{WorkerLoad}
\item 
typedef unsigned int \hyperlink{namespacemiddleware_a9282c95e91f019da6ded0dd5a81c04c9}{WorkflowId}
\end{DoxyCompactItemize}
\subsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \hyperlink{namespacemiddleware_af3e14e19f595741e350da505b97c051c}{DataProxyDirection} \{ \hyperlink{namespacemiddleware_af3e14e19f595741e350da505b97c051ca8807c0b08e818fc39033ef8cf6a69a65}{kSendDataProxy} =  0, 
\hyperlink{namespacemiddleware_af3e14e19f595741e350da505b97c051ca1a31683ec9edf1373ec2e0b105cd31aa}{kReceiveDataProxy} =  1
 \}
\item 
enum \hyperlink{namespacemiddleware_a28a702cdc4d2c932272385dfef2b969f}{TaskType} \{ \hyperlink{namespacemiddleware_a28a702cdc4d2c932272385dfef2b969fab4488bb63f161f2008896620a839925e}{kTaskExecutable} =  0, 
\hyperlink{namespacemiddleware_a28a702cdc4d2c932272385dfef2b969fad769f983feb0f25e46c5f99222e8d9ec}{kTaskBashCommand} =  1
 \}
\item 
enum \hyperlink{namespacemiddleware_a73055456c55c0d5eaa2fe6e77ee39f93}{TaskProxyDirection} \{ \hyperlink{namespacemiddleware_a73055456c55c0d5eaa2fe6e77ee39f93a6256ef09103f82fc230bedd77846d735}{kSendTaskProxy} =  0, 
\hyperlink{namespacemiddleware_a73055456c55c0d5eaa2fe6e77ee39f93ac85bc2458177958c6f0fdc97b9257f18}{kReceiveTaskProxy} =  1
 \}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{namespacemiddleware_a2419f02cd481c213e7e34e63c51a95c9}{
void {\bfseries LogTestMultiThread} ()}
\label{namespacemiddleware_a2419f02cd481c213e7e34e63c51a95c9}

\item 
\hypertarget{namespacemiddleware_ae9dbfa37f6b3f42f1f710c7a5974b0f1}{
void {\bfseries ThreadLogger} (int n)}
\label{namespacemiddleware_ae9dbfa37f6b3f42f1f710c7a5974b0f1}

\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
const std::string \hyperlink{namespacemiddleware_a941a868565d39784a1a0d9800aa499f8}{kConfigFileName} = \char`\"{}core.config\char`\"{}
\item 
const std::string \hyperlink{namespacemiddleware_a546387092334c9fc60e911acdee3b0d2}{kConfigFileDelimiter} = \char`\"{}:\char`\"{}
\item 
const std::string \hyperlink{namespacemiddleware_a41a12ab744b9794ca84be023066869a0}{kParameterNotFound} = \char`\"{}\char`\"{}
\item 
const std::string \hyperlink{namespacemiddleware_aae83ab1e6ec2617c397fdc05fad20d8e}{kCOREEtq} = \char`\"{}CORE: \char`\"{}
\item 
\hyperlink{namespacemiddleware_a5ac76a45f496f64a32f6c2e440ac6c6b}{ConfigParam} \hyperlink{namespacemiddleware_a09b9da39db4cc426f3fe556357df5a88}{kCPAddrBindIp} = \char`\"{}CONFIG\_\-ADDRME\_\-IP\char`\"{}
\item 
\hyperlink{namespacemiddleware_a5ac76a45f496f64a32f6c2e440ac6c6b}{ConfigParam} \hyperlink{namespacemiddleware_ae9a73f70537899fe11727087126b466b}{kCPAddrManBindPort} = \char`\"{}CONFIG\_\-ADDRME\_\-MAN\_\-PORT\char`\"{}
\item 
\hyperlink{namespacemiddleware_a5ac76a45f496f64a32f6c2e440ac6c6b}{ConfigParam} \hyperlink{namespacemiddleware_ae38bcaaec8ebe94139884fdd8c8af134}{kCPAddrDiscBindPort} = \char`\"{}CONFIG\_\-ADDRME\_\-DISC\_\-PORT\char`\"{}
\item 
\hyperlink{namespacemiddleware_a5ac76a45f496f64a32f6c2e440ac6c6b}{ConfigParam} \hyperlink{namespacemiddleware_af9606cfdeddadae3123071daf62a83f3}{kCPAddrWBindPort} = \char`\"{}CONFIG\_\-ADDRME\_\-W\_\-PORT\char`\"{}
\item 
\hyperlink{namespacemiddleware_a5ac76a45f496f64a32f6c2e440ac6c6b}{ConfigParam} \hyperlink{namespacemiddleware_aca4b68b279a90e2f13f6b89ca1bfc436}{kCPOtherPeersNum} = \char`\"{}CONFIG\_\-OTHERPEERS\_\-NUM\char`\"{}
\item 
\hyperlink{namespacemiddleware_a5ac76a45f496f64a32f6c2e440ac6c6b}{ConfigParam} \hyperlink{namespacemiddleware_a4e28ac52a99d169bf49c2e27d56e59dd}{kCPAddrPeerXIpPre} = \char`\"{}CONFIG\_\-ADDRPEER\_\-\char`\"{}
\item 
\hyperlink{namespacemiddleware_a5ac76a45f496f64a32f6c2e440ac6c6b}{ConfigParam} \hyperlink{namespacemiddleware_aedffdfd32a474e6c3af9680f39b89925}{kCPAddrPeerXIpPost} = \char`\"{}\_\-IP\char`\"{}
\item 
\hyperlink{namespacemiddleware_a5ac76a45f496f64a32f6c2e440ac6c6b}{ConfigParam} \hyperlink{namespacemiddleware_a778c94543f9a70031154ee911f9b92b5}{kCPAddrPeerXTaskDescsPortPre} = \char`\"{}CONFIG\_\-ADDRPEER\_\-\char`\"{}
\item 
\hyperlink{namespacemiddleware_a5ac76a45f496f64a32f6c2e440ac6c6b}{ConfigParam} \hyperlink{namespacemiddleware_af8347c43cdcb457a2b799f2e040b260f}{kCPAddrPeerXTaskDescsPortPost} = \char`\"{}\_\-TASKS\_\-PORT\char`\"{}
\item 
\hyperlink{namespacemiddleware_a5ac76a45f496f64a32f6c2e440ac6c6b}{ConfigParam} \hyperlink{namespacemiddleware_ab54cac5bb726249f8355414ff15cb2d0}{kCPAddrPeerXWorkerDescsPortPre} = \char`\"{}CONFIG\_\-ADDRPEER\_\-\char`\"{}
\item 
\hyperlink{namespacemiddleware_a5ac76a45f496f64a32f6c2e440ac6c6b}{ConfigParam} \hyperlink{namespacemiddleware_acea71523f019ca0fc9e76492068d792a}{kCPAddrPeerXWorkerDescsPortPost} = \char`\"{}\_\-WRKRS\_\-PORT\char`\"{}
\item 
\hyperlink{namespacemiddleware_a5ac76a45f496f64a32f6c2e440ac6c6b}{ConfigParam} \hyperlink{namespacemiddleware_ad7c389884351943dfb53ccf69b2fe8a2}{kCPAddrPeerXDataPortPre} = \char`\"{}CONFIG\_\-ADDRPEER\_\-\char`\"{}
\item 
\hyperlink{namespacemiddleware_a5ac76a45f496f64a32f6c2e440ac6c6b}{ConfigParam} \hyperlink{namespacemiddleware_ac46b4ade596d0c88bdb65b24415e5950}{kCPAddrPeerXDataPortPost} = \char`\"{}\_\-DATA\_\-PORT\char`\"{}
\item 
\hyperlink{namespacemiddleware_a5ac76a45f496f64a32f6c2e440ac6c6b}{ConfigParam} \hyperlink{namespacemiddleware_a59c355e646580c237c346bc5696783cd}{kCPWorkerCapabP} = \char`\"{}CONFIG\_\-WORKERCAPAB\_\-P\char`\"{}
\item 
\hyperlink{namespacemiddleware_a5ac76a45f496f64a32f6c2e440ac6c6b}{ConfigParam} \hyperlink{namespacemiddleware_a33c50b47ca3359ebd361e7a6508c5095}{kCPWorkerCapabC} = \char`\"{}CONFIG\_\-WORKERCAPAB\_\-C\char`\"{}
\item 
\hyperlink{namespacemiddleware_a5ac76a45f496f64a32f6c2e440ac6c6b}{ConfigParam} \hyperlink{namespacemiddleware_af3c2a5fc836deac67c12430bb318ac5b}{kCPWorkerCapabB} = \char`\"{}CONFIG\_\-WORKERCAPAB\_\-B\char`\"{}
\item 
\hyperlink{namespacemiddleware_a5ac76a45f496f64a32f6c2e440ac6c6b}{ConfigParam} \hyperlink{namespacemiddleware_a0d82bd1eb52808c2a489b0e4444be7af}{kCPWorkerCapabZ} = \char`\"{}CONFIG\_\-WORKERCAPAB\_\-Z\char`\"{}
\item 
\hyperlink{namespacemiddleware_a5ac76a45f496f64a32f6c2e440ac6c6b}{ConfigParam} \hyperlink{namespacemiddleware_a331973d21ccadd78cbc0a86a5db612ca}{kCPWorkerCapabD} = \char`\"{}CONFIG\_\-WORKERCAPAB\_\-D\char`\"{}
\item 
\hyperlink{namespacemiddleware_a5ac76a45f496f64a32f6c2e440ac6c6b}{ConfigParam} \hyperlink{namespacemiddleware_ab6420c1be07e06eaefd48aa90461528d}{kCPWorkerCapabM} = \char`\"{}CONFIG\_\-WORKERCAPAB\_\-M\char`\"{}
\item 
const unsigned int \hyperlink{namespacemiddleware_ac1223be43f28d43ba89a1cd979d432fa}{kManagerMinManPort} = 1051
\item 
const unsigned int \hyperlink{namespacemiddleware_a75fe8b130ab56e66254be31cfe1e8664}{kManagerMaxManPort} = 65536 -\/ 1
\item 
const std::string \hyperlink{namespacemiddleware_a2807a2ecd711de82832100dba9ccc1aa}{kManagerEtq} = \char`\"{}MAN: \char`\"{}
\item 
const std::string \hyperlink{namespacemiddleware_a3fc91d160de66f57bd0b35e995052e39}{kManager1Etq} = \char`\"{}TaskManager: \char`\"{}
\item 
\hypertarget{namespacemiddleware_a41dca9874e46c3c80f18f16e2925f2ed}{
\hyperlink{classmiddleware_1_1SynLogger}{SynLogger} {\bfseries log} (\char`\"{}log\_\-test\char`\"{},\char`\"{}LOG\_\-TEST\char`\"{})}
\label{namespacemiddleware_a41dca9874e46c3c80f18f16e2925f2ed}

\item 
const unsigned int \hyperlink{namespacemiddleware_a1d61149114826f7783283eadcaf13051}{kMaxTaskID} = 16000
\item 
const unsigned int \hyperlink{namespacemiddleware_adca162cde3d0ea1ce6f9df7e3c766501}{kMinTaskID} = 1
\item 
const unsigned int \hyperlink{namespacemiddleware_ac260925f3d16f98639436a29a37bc1bb}{kMaxTasksInQueue} = 25
\item 
const unsigned int \hyperlink{namespacemiddleware_adad84ff4c3504a928f3f949e981627ac}{kUIMaxTasksInWorkflow} = 5
\item 
const unsigned int \hyperlink{namespacemiddleware_a3055c6df90e602ee9c671cece1b8fbd5}{kUIMaxWorkflowGeneretionPeriod} = 30
\item 
const std::string \hyperlink{namespacemiddleware_a35a0b1a425d6bd4584464055778eb2d1}{kUIEtq} = \char`\"{}UI: \char`\"{}
\item 
const std::string \hyperlink{namespacemiddleware_a0a06ed18df0c57be08e15ee05de76b18}{kUI1Etq} = \char`\"{}DataRequestManager: \char`\"{}
\item 
const unsigned int \hyperlink{namespacemiddleware_a8ecb5a33887118f909481eb2d639ebde}{kMaxWorkflowsInQueue} = 25
\item 
const unsigned int \hyperlink{namespacemiddleware_ac6af853165e5a483d538c447fb2c31c2}{kWorkerTDCEntryTTL} = 20
\item 
const unsigned int \hyperlink{namespacemiddleware_acc4da93fa4edb995ee03dd253f217fd9}{kWorkerTDCCollectionPeriodMsec} = 5000
\item 
const unsigned int \hyperlink{namespacemiddleware_a0684f273840489e3366364b76a443ae6}{kWorkerStatusManagerRefreshPeriodMsec} = 5000
\item 
const unsigned int \hyperlink{namespacemiddleware_a2ddeb861eeee7dfb0f6dc79e553106c8}{kWorkerGetDataAttemptsNumber} = 4
\item 
const unsigned int \hyperlink{namespacemiddleware_a2d91b5c65b19125b988f4e32b4b61aa7}{kWorkerGetDataWaitTimeMsec} = 5000
\item 
const std::string \hyperlink{namespacemiddleware_a91489128acb5c7653d2f672b4dc5248b}{kWorkerEtq} = \char`\"{}W: \char`\"{}
\item 
const std::string \hyperlink{namespacemiddleware_a77441f08731ce81bb8d94ce946735185}{kWorker1Etq} = \char`\"{}StatusManager: \char`\"{}
\item 
const std::string \hyperlink{namespacemiddleware_a7d023cade5e9404ccb9a7cfa0504aee8}{kWorker2Etq} = \char`\"{}TaskDataManager: \char`\"{}
\item 
const std::string \hyperlink{namespacemiddleware_a0b471ebdccbbbae165fd25d8dba73bae}{kWorker3Etq} = \char`\"{}TaskDataCollector \char`\"{}
\item 
const \hyperlink{structmiddleware_1_1WorkerCapabilities}{WorkerCapabilities} \hyperlink{namespacemiddleware_a0d2f6cb7bb067c80956f1243edbdbbac}{kStdWorkerCapab}
\item 
const \hyperlink{structmiddleware_1_1WorkerCapabilities}{WorkerCapabilities} \hyperlink{namespacemiddleware_afbd66b34505369fbfd52f3fd6a3cd53d}{kDefWorkerCapab}
\item 
const unsigned int \hyperlink{namespacemiddleware_a1f84698db42061a7dea1363e56eef31a}{kWorkerDiscoveryMinManPort} = 1051
\item 
const unsigned int \hyperlink{namespacemiddleware_a2c21f6e94303f78e046b17b6b0430544}{kWorkerDiscoveryMaxManPort} = 65536 -\/ 1
\item 
const std::string \hyperlink{namespacemiddleware_add85595b636fdc88a482e6b6534b1065}{kWorkerDiscoveryEtq} = \char`\"{}DISC: \char`\"{}
\item 
const unsigned int \hyperlink{namespacemiddleware_a5e7817ba5935e03e1f03c550d117a055}{kMaxWorkflowID} = 16000
\item 
const unsigned int \hyperlink{namespacemiddleware_a5c8acee75c48466a1dbed67ba74ce7c6}{kMinWorkflowID} = 1
\end{DoxyCompactItemize}


\subsection{Detailed Description}
File: \hyperlink{activity_8hpp_source}{activity.hpp}

File: \hyperlink{address_8hpp_source}{address.hpp}

File: \hyperlink{address__test_8hpp_source}{address\_\-test.hpp}

File: \hyperlink{common__types_8hpp_source}{common\_\-types.hpp}

File: \hyperlink{core_8hpp_source}{core.hpp}

File: \hyperlink{core__exception_8hpp_source}{core\_\-exception.hpp}

File: \hyperlink{core__test_8hpp_source}{core\_\-test.hpp}

File: \hyperlink{data_8hpp_source}{data.hpp}

File: \hyperlink{data__manager__proxy_8hpp_source}{data\_\-manager\_\-proxy.hpp}

File: \hyperlink{data__proxy__factory_8hpp_source}{data\_\-proxy\_\-factory.hpp}

File: \hyperlink{discovery_8hpp_source}{discovery.hpp}

File: \hyperlink{discovery__proxy__factory_8hpp_source}{discovery\_\-proxy\_\-factory.hpp}

File: \hyperlink{generic__exception_8hpp_source}{generic\_\-exception.hpp}

File: performance\_\-index.cpp

File: \hyperlink{performance__index_8hpp_source}{performance\_\-index.hpp}

File: \hyperlink{proxy__exception_8hpp_source}{proxy\_\-exception.hpp}

File: \hyperlink{runner_8hpp_source}{runner.hpp}

File: \hyperlink{synlogger_8hpp_source}{synlogger.hpp}

File: \hyperlink{task__data_8hpp_source}{task\_\-data.hpp}

File: \hyperlink{task__descriptor_8hpp_source}{task\_\-descriptor.hpp}

File: \hyperlink{tqueue_8hpp_source}{tqueue.hpp}

File: \hyperlink{task__manager__proxy_8hpp_source}{task\_\-manager\_\-proxy.hpp}

File: \hyperlink{task__proxy__factory_8hpp_source}{task\_\-proxy\_\-factory.hpp}

File: \hyperlink{tqueue__manager__proxy_8hpp_source}{tqueue\_\-manager\_\-proxy.hpp}

File: \hyperlink{tqueue__proxy__factory_8hpp_source}{tqueue\_\-proxy\_\-factory.hpp}

File: \hyperlink{ui_8hpp_source}{ui.hpp}

File: utils.cpp

File: \hyperlink{utils_8hpp_source}{utils.hpp}

File: \hyperlink{wfqueue_8hpp_source}{wfqueue.hpp}

File: \hyperlink{wfqueue__manager__proxy_8hpp_source}{wfqueue\_\-manager\_\-proxy.hpp}

File: \hyperlink{wfqueue__proxy__factory_8hpp_source}{wfqueue\_\-proxy\_\-factory.hpp}

File: \hyperlink{worker_8hpp_source}{worker.hpp}

File: \hyperlink{worker__descriptor_8hpp_source}{worker\_\-descriptor.hpp}

File: \hyperlink{worker__discovery_8hpp_source}{worker\_\-discovery.hpp}

File: \hyperlink{worker__discovery__proxy_8hpp_source}{worker\_\-discovery\_\-proxy.hpp}

File: \hyperlink{worker__network_8hpp_source}{worker\_\-network.hpp}

File: \hyperlink{workerdescriptor__manager_8hpp_source}{workerdescriptor\_\-manager.hpp}

File: \hyperlink{workerdescriptor__manager__proxy_8hpp_source}{workerdescriptor\_\-manager\_\-proxy.hpp}

File: \hyperlink{workerdescriptor__proxy__factory_8hpp_source}{workerdescriptor\_\-proxy\_\-factory.hpp}

File: \hyperlink{workflow_8hpp_source}{workflow.hpp}

File: \hyperlink{workflow__exception_8hpp_source}{workflow\_\-exception.hpp} 

\subsection{Typedef Documentation}
\hypertarget{namespacemiddleware_a5ac76a45f496f64a32f6c2e440ac6c6b}{
\index{middleware@{middleware}!ConfigParam@{ConfigParam}}
\index{ConfigParam@{ConfigParam}!middleware@{middleware}}
\subsubsection[{ConfigParam}]{\setlength{\rightskip}{0pt plus 5cm}typedef const std::string {\bf middleware::ConfigParam}}}
\label{namespacemiddleware_a5ac76a45f496f64a32f6c2e440ac6c6b}
Represents the type used for a configuration parameter in a configuration file. \hypertarget{namespacemiddleware_a59a0cef756ab3c62bed7fdf8caed80bd}{
\index{middleware@{middleware}!ConfigValue@{ConfigValue}}
\index{ConfigValue@{ConfigValue}!middleware@{middleware}}
\subsubsection[{ConfigValue}]{\setlength{\rightskip}{0pt plus 5cm}typedef const std::string {\bf middleware::ConfigValue}}}
\label{namespacemiddleware_a59a0cef756ab3c62bed7fdf8caed80bd}
Represents the type of value returned when querying for a particular configuration parameter's value. \hypertarget{namespacemiddleware_ac117dd2103801863d870e2ee58ec5779}{
\index{middleware@{middleware}!InetIpAddr@{InetIpAddr}}
\index{InetIpAddr@{InetIpAddr}!middleware@{middleware}}
\subsubsection[{InetIpAddr}]{\setlength{\rightskip}{0pt plus 5cm}typedef std::string {\bf middleware::InetIpAddr}}}
\label{namespacemiddleware_ac117dd2103801863d870e2ee58ec5779}


Internet Ip v4 address. 

InetIpAddr Internet Ip v4 address that locates the peer in the network. \hypertarget{namespacemiddleware_a41f19ac55024737ec5b9d40def5f9c88}{
\index{middleware@{middleware}!InetPort@{InetPort}}
\index{InetPort@{InetPort}!middleware@{middleware}}
\subsubsection[{InetPort}]{\setlength{\rightskip}{0pt plus 5cm}typedef unsigned int {\bf middleware::InetPort}}}
\label{namespacemiddleware_a41f19ac55024737ec5b9d40def5f9c88}


Represents an Internet TCP Port number ranging from 0 to 2$^\wedge$16. 

InetPort Number representing the port where one of the peer's components will bind in order to listen for incoming information from the network. \hypertarget{namespacemiddleware_a260b140db0d63fd94d8e480691e9ecb9}{
\index{middleware@{middleware}!PeersSet@{PeersSet}}
\index{PeersSet@{PeersSet}!middleware@{middleware}}
\subsubsection[{PeersSet}]{\setlength{\rightskip}{0pt plus 5cm}typedef std::vector$<$ {\bf WorkerDescriptor} $>$ {\bf middleware::PeersSet}}}
\label{namespacemiddleware_a260b140db0d63fd94d8e480691e9ecb9}


Represents a collection of \hyperlink{classmiddleware_1_1WorkerDescriptor}{WorkerDescriptor}. 

PeersSet \hypertarget{namespacemiddleware_a8604fa240c1bc5cce03cede70be374c3}{
\index{middleware@{middleware}!TaskCommand@{TaskCommand}}
\index{TaskCommand@{TaskCommand}!middleware@{middleware}}
\subsubsection[{TaskCommand}]{\setlength{\rightskip}{0pt plus 5cm}typedef std::string {\bf middleware::TaskCommand}}}
\label{namespacemiddleware_a8604fa240c1bc5cce03cede70be374c3}
Represents the type for commands to execute in the case the task is a bash command task. \hypertarget{namespacemiddleware_a9daf9b1bb6342602d1c9dc895781a0a9}{
\index{middleware@{middleware}!TaskDataCollection@{TaskDataCollection}}
\index{TaskDataCollection@{TaskDataCollection}!middleware@{middleware}}
\subsubsection[{TaskDataCollection}]{\setlength{\rightskip}{0pt plus 5cm}typedef std::vector$<${\bf TDCEntry}$>$ {\bf middleware::TaskDataCollection}}}
\label{namespacemiddleware_a9daf9b1bb6342602d1c9dc895781a0a9}
Represents a collection of \hyperlink{classmiddleware_1_1Data}{Data} referring to executable tasks whose \hyperlink{classmiddleware_1_1TaskDescriptor}{TaskDescriptor} was sent to \hyperlink{classmiddleware_1_1Worker}{Worker} in order to be executed. \hypertarget{namespacemiddleware_a04c885857128b27c686c14dd12a5d29c}{
\index{middleware@{middleware}!TaskId@{TaskId}}
\index{TaskId@{TaskId}!middleware@{middleware}}
\subsubsection[{TaskId}]{\setlength{\rightskip}{0pt plus 5cm}typedef unsigned int {\bf middleware::TaskId}}}
\label{namespacemiddleware_a04c885857128b27c686c14dd12a5d29c}
Represents the unique identifier assignable to a task. \hypertarget{namespacemiddleware_ad00b1f92b4e1b498a0e26fc2ae2adf98}{
\index{middleware@{middleware}!WorkerLoad@{WorkerLoad}}
\index{WorkerLoad@{WorkerLoad}!middleware@{middleware}}
\subsubsection[{WorkerLoad}]{\setlength{\rightskip}{0pt plus 5cm}typedef unsigned int {\bf middleware::WorkerLoad}}}
\label{namespacemiddleware_ad00b1f92b4e1b498a0e26fc2ae2adf98}
Type for worker load (number of pending tasks). \hypertarget{namespacemiddleware_a9282c95e91f019da6ded0dd5a81c04c9}{
\index{middleware@{middleware}!WorkflowId@{WorkflowId}}
\index{WorkflowId@{WorkflowId}!middleware@{middleware}}
\subsubsection[{WorkflowId}]{\setlength{\rightskip}{0pt plus 5cm}typedef unsigned int {\bf middleware::WorkflowId}}}
\label{namespacemiddleware_a9282c95e91f019da6ded0dd5a81c04c9}
Type for \hyperlink{classmiddleware_1_1Workflow}{Workflow} ID WID. 

\subsection{Enumeration Type Documentation}
\hypertarget{namespacemiddleware_af3e14e19f595741e350da505b97c051c}{
\index{middleware@{middleware}!DataProxyDirection@{DataProxyDirection}}
\index{DataProxyDirection@{DataProxyDirection}!middleware@{middleware}}
\subsubsection[{DataProxyDirection}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf middleware::DataProxyDirection}}}
\label{namespacemiddleware_af3e14e19f595741e350da505b97c051c}
Used to set \hyperlink{classmiddleware_1_1DataProxyFactory}{DataProxyFactory} by specifying communication mode. \begin{Desc}
\item[Enumerator: ]\par
\begin{description}
\index{kSendDataProxy@{kSendDataProxy}!middleware@{middleware}}\index{middleware@{middleware}!kSendDataProxy@{kSendDataProxy}}\item[{\em 
\hypertarget{namespacemiddleware_af3e14e19f595741e350da505b97c051ca8807c0b08e818fc39033ef8cf6a69a65}{
kSendDataProxy}
\label{namespacemiddleware_af3e14e19f595741e350da505b97c051ca8807c0b08e818fc39033ef8cf6a69a65}
}]When selected, it instructs the factory to build a \hyperlink{classmiddleware_1_1DataManagerProxy}{DataManagerProxy} ready to send \hyperlink{classmiddleware_1_1Data}{Data} to a particular \hyperlink{classmiddleware_1_1Worker}{Worker}. \index{kReceiveDataProxy@{kReceiveDataProxy}!middleware@{middleware}}\index{middleware@{middleware}!kReceiveDataProxy@{kReceiveDataProxy}}\item[{\em 
\hypertarget{namespacemiddleware_af3e14e19f595741e350da505b97c051ca1a31683ec9edf1373ec2e0b105cd31aa}{
kReceiveDataProxy}
\label{namespacemiddleware_af3e14e19f595741e350da505b97c051ca1a31683ec9edf1373ec2e0b105cd31aa}
}]When selected, it instructs the factory to build a \hyperlink{classmiddleware_1_1DataManagerProxy}{DataManagerProxy} ready to receive \hyperlink{classmiddleware_1_1Data}{Data} from a particular \hyperlink{classmiddleware_1_1Manager}{Manager}. \end{description}
\end{Desc}

\hypertarget{namespacemiddleware_a73055456c55c0d5eaa2fe6e77ee39f93}{
\index{middleware@{middleware}!TaskProxyDirection@{TaskProxyDirection}}
\index{TaskProxyDirection@{TaskProxyDirection}!middleware@{middleware}}
\subsubsection[{TaskProxyDirection}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf middleware::TaskProxyDirection}}}
\label{namespacemiddleware_a73055456c55c0d5eaa2fe6e77ee39f93}
Determines the mode of the returned proxy. \begin{Desc}
\item[Enumerator: ]\par
\begin{description}
\index{kSendTaskProxy@{kSendTaskProxy}!middleware@{middleware}}\index{middleware@{middleware}!kSendTaskProxy@{kSendTaskProxy}}\item[{\em 
\hypertarget{namespacemiddleware_a73055456c55c0d5eaa2fe6e77ee39f93a6256ef09103f82fc230bedd77846d735}{
kSendTaskProxy}
\label{namespacemiddleware_a73055456c55c0d5eaa2fe6e77ee39f93a6256ef09103f82fc230bedd77846d735}
}]Factory will return a \hyperlink{classmiddleware_1_1TaskManagerProxy}{TaskManagerProxy} ready for sending \hyperlink{classmiddleware_1_1TaskDescriptor}{TaskDescriptor}. \index{kReceiveTaskProxy@{kReceiveTaskProxy}!middleware@{middleware}}\index{middleware@{middleware}!kReceiveTaskProxy@{kReceiveTaskProxy}}\item[{\em 
\hypertarget{namespacemiddleware_a73055456c55c0d5eaa2fe6e77ee39f93ac85bc2458177958c6f0fdc97b9257f18}{
kReceiveTaskProxy}
\label{namespacemiddleware_a73055456c55c0d5eaa2fe6e77ee39f93ac85bc2458177958c6f0fdc97b9257f18}
}]Factory will return a \hyperlink{classmiddleware_1_1TaskManagerProxy}{TaskManagerProxy} ready for receiving \hyperlink{classmiddleware_1_1TaskDescriptor}{TaskDescriptor}. \end{description}
\end{Desc}

\hypertarget{namespacemiddleware_a28a702cdc4d2c932272385dfef2b969f}{
\index{middleware@{middleware}!TaskType@{TaskType}}
\index{TaskType@{TaskType}!middleware@{middleware}}
\subsubsection[{TaskType}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf middleware::TaskType}}}
\label{namespacemiddleware_a28a702cdc4d2c932272385dfef2b969f}
Represents the typology of task. \begin{Desc}
\item[Enumerator: ]\par
\begin{description}
\index{kTaskExecutable@{kTaskExecutable}!middleware@{middleware}}\index{middleware@{middleware}!kTaskExecutable@{kTaskExecutable}}\item[{\em 
\hypertarget{namespacemiddleware_a28a702cdc4d2c932272385dfef2b969fab4488bb63f161f2008896620a839925e}{
kTaskExecutable}
\label{namespacemiddleware_a28a702cdc4d2c932272385dfef2b969fab4488bb63f161f2008896620a839925e}
}]The task is an executable task, when such a task must be routed by a \hyperlink{classmiddleware_1_1Manager}{Manager}, it is necessary to send, not only the \hyperlink{classmiddleware_1_1TaskDescriptor}{TaskDescriptor}, but the binaries of that task in order to let them to be executed correctly. \index{kTaskBashCommand@{kTaskBashCommand}!middleware@{middleware}}\index{middleware@{middleware}!kTaskBashCommand@{kTaskBashCommand}}\item[{\em 
\hypertarget{namespacemiddleware_a28a702cdc4d2c932272385dfef2b969fad769f983feb0f25e46c5f99222e8d9ec}{
kTaskBashCommand}
\label{namespacemiddleware_a28a702cdc4d2c932272385dfef2b969fad769f983feb0f25e46c5f99222e8d9ec}
}]The task is just a Bash command, no need to grab and track \hyperlink{classmiddleware_1_1Data}{Data}. \end{description}
\end{Desc}



\subsection{Variable Documentation}
\hypertarget{namespacemiddleware_a546387092334c9fc60e911acdee3b0d2}{
\index{middleware@{middleware}!kConfigFileDelimiter@{kConfigFileDelimiter}}
\index{kConfigFileDelimiter@{kConfigFileDelimiter}!middleware@{middleware}}
\subsubsection[{kConfigFileDelimiter}]{\setlength{\rightskip}{0pt plus 5cm}const std::string {\bf middleware::kConfigFileDelimiter} = \char`\"{}:\char`\"{}}}
\label{namespacemiddleware_a546387092334c9fc60e911acdee3b0d2}
Default separator for configuration \href{file:}{\tt file:} TAGNAME+Separator+TAGVALUE. \hypertarget{namespacemiddleware_a941a868565d39784a1a0d9800aa499f8}{
\index{middleware@{middleware}!kConfigFileName@{kConfigFileName}}
\index{kConfigFileName@{kConfigFileName}!middleware@{middleware}}
\subsubsection[{kConfigFileName}]{\setlength{\rightskip}{0pt plus 5cm}const std::string {\bf middleware::kConfigFileName} = \char`\"{}core.config\char`\"{}}}
\label{namespacemiddleware_a941a868565d39784a1a0d9800aa499f8}
Default configuration file name. \hypertarget{namespacemiddleware_aae83ab1e6ec2617c397fdc05fad20d8e}{
\index{middleware@{middleware}!kCOREEtq@{kCOREEtq}}
\index{kCOREEtq@{kCOREEtq}!middleware@{middleware}}
\subsubsection[{kCOREEtq}]{\setlength{\rightskip}{0pt plus 5cm}const std::string {\bf middleware::kCOREEtq} = \char`\"{}CORE: \char`\"{}}}
\label{namespacemiddleware_aae83ab1e6ec2617c397fdc05fad20d8e}
Output etiquette. \hypertarget{namespacemiddleware_a09b9da39db4cc426f3fe556357df5a88}{
\index{middleware@{middleware}!kCPAddrBindIp@{kCPAddrBindIp}}
\index{kCPAddrBindIp@{kCPAddrBindIp}!middleware@{middleware}}
\subsubsection[{kCPAddrBindIp}]{\setlength{\rightskip}{0pt plus 5cm}{\bf ConfigParam} {\bf middleware::kCPAddrBindIp} = \char`\"{}CONFIG\_\-ADDRME\_\-IP\char`\"{}}}
\label{namespacemiddleware_a09b9da39db4cc426f3fe556357df5a88}
Ip v4 address of the current peer. \hypertarget{namespacemiddleware_ae38bcaaec8ebe94139884fdd8c8af134}{
\index{middleware@{middleware}!kCPAddrDiscBindPort@{kCPAddrDiscBindPort}}
\index{kCPAddrDiscBindPort@{kCPAddrDiscBindPort}!middleware@{middleware}}
\subsubsection[{kCPAddrDiscBindPort}]{\setlength{\rightskip}{0pt plus 5cm}{\bf ConfigParam} {\bf middleware::kCPAddrDiscBindPort} = \char`\"{}CONFIG\_\-ADDRME\_\-DISC\_\-PORT\char`\"{}}}
\label{namespacemiddleware_ae38bcaaec8ebe94139884fdd8c8af134}
TCP Port of \hyperlink{classDiscovery}{Discovery} of the current peer in order to listen for incoming \hyperlink{classmiddleware_1_1WorkerDescriptor}{WorkerDescriptor}. \hypertarget{namespacemiddleware_ae9a73f70537899fe11727087126b466b}{
\index{middleware@{middleware}!kCPAddrManBindPort@{kCPAddrManBindPort}}
\index{kCPAddrManBindPort@{kCPAddrManBindPort}!middleware@{middleware}}
\subsubsection[{kCPAddrManBindPort}]{\setlength{\rightskip}{0pt plus 5cm}{\bf ConfigParam} {\bf middleware::kCPAddrManBindPort} = \char`\"{}CONFIG\_\-ADDRME\_\-MAN\_\-PORT\char`\"{}}}
\label{namespacemiddleware_ae9a73f70537899fe11727087126b466b}
TCP Port of \hyperlink{classmiddleware_1_1Manager}{Manager} of the current peer in order to listen for incoming \hyperlink{classmiddleware_1_1TaskDescriptor}{TaskDescriptor}. \hypertarget{namespacemiddleware_ac46b4ade596d0c88bdb65b24415e5950}{
\index{middleware@{middleware}!kCPAddrPeerXDataPortPost@{kCPAddrPeerXDataPortPost}}
\index{kCPAddrPeerXDataPortPost@{kCPAddrPeerXDataPortPost}!middleware@{middleware}}
\subsubsection[{kCPAddrPeerXDataPortPost}]{\setlength{\rightskip}{0pt plus 5cm}{\bf ConfigParam} {\bf middleware::kCPAddrPeerXDataPortPost} = \char`\"{}\_\-DATA\_\-PORT\char`\"{}}}
\label{namespacemiddleware_ac46b4ade596d0c88bdb65b24415e5950}
Postfix for Port number configuration parameter specifying Port number of Worker's known peer. Example: CONFIG\_\-ADDRPEER\_\-1\_\-DATA\_\-PORT, CONFIG\_\-ADDRPEER\_\-2\_\-DATA\_\-PORT. \hypertarget{namespacemiddleware_ad7c389884351943dfb53ccf69b2fe8a2}{
\index{middleware@{middleware}!kCPAddrPeerXDataPortPre@{kCPAddrPeerXDataPortPre}}
\index{kCPAddrPeerXDataPortPre@{kCPAddrPeerXDataPortPre}!middleware@{middleware}}
\subsubsection[{kCPAddrPeerXDataPortPre}]{\setlength{\rightskip}{0pt plus 5cm}{\bf ConfigParam} {\bf middleware::kCPAddrPeerXDataPortPre} = \char`\"{}CONFIG\_\-ADDRPEER\_\-\char`\"{}}}
\label{namespacemiddleware_ad7c389884351943dfb53ccf69b2fe8a2}
Prefix for Port number configuration parameter specifying Port number of Worker's known peer. Example: CONFIG\_\-ADDRPEER\_\-1\_\-DATA\_\-PORT, CONFIG\_\-ADDRPEER\_\-2\_\-DATA\_\-PORT. \hypertarget{namespacemiddleware_aedffdfd32a474e6c3af9680f39b89925}{
\index{middleware@{middleware}!kCPAddrPeerXIpPost@{kCPAddrPeerXIpPost}}
\index{kCPAddrPeerXIpPost@{kCPAddrPeerXIpPost}!middleware@{middleware}}
\subsubsection[{kCPAddrPeerXIpPost}]{\setlength{\rightskip}{0pt plus 5cm}{\bf ConfigParam} {\bf middleware::kCPAddrPeerXIpPost} = \char`\"{}\_\-IP\char`\"{}}}
\label{namespacemiddleware_aedffdfd32a474e6c3af9680f39b89925}
Postfix for Ip address configuration parameter specifying Ip address of known peer. Example: CONFIG\_\-ADDRPEER\_\-1\_\-IP, CONFIG\_\-ADDRPEER\_\-2\_\-IP. \hypertarget{namespacemiddleware_a4e28ac52a99d169bf49c2e27d56e59dd}{
\index{middleware@{middleware}!kCPAddrPeerXIpPre@{kCPAddrPeerXIpPre}}
\index{kCPAddrPeerXIpPre@{kCPAddrPeerXIpPre}!middleware@{middleware}}
\subsubsection[{kCPAddrPeerXIpPre}]{\setlength{\rightskip}{0pt plus 5cm}{\bf ConfigParam} {\bf middleware::kCPAddrPeerXIpPre} = \char`\"{}CONFIG\_\-ADDRPEER\_\-\char`\"{}}}
\label{namespacemiddleware_a4e28ac52a99d169bf49c2e27d56e59dd}
Prefix for Ip address configuration parameter specifying Ip address of known peer. Example: CONFIG\_\-ADDRPEER\_\-1\_\-IP, CONFIG\_\-ADDRPEER\_\-2\_\-IP. \hypertarget{namespacemiddleware_af8347c43cdcb457a2b799f2e040b260f}{
\index{middleware@{middleware}!kCPAddrPeerXTaskDescsPortPost@{kCPAddrPeerXTaskDescsPortPost}}
\index{kCPAddrPeerXTaskDescsPortPost@{kCPAddrPeerXTaskDescsPortPost}!middleware@{middleware}}
\subsubsection[{kCPAddrPeerXTaskDescsPortPost}]{\setlength{\rightskip}{0pt plus 5cm}{\bf ConfigParam} {\bf middleware::kCPAddrPeerXTaskDescsPortPost} = \char`\"{}\_\-TASKS\_\-PORT\char`\"{}}}
\label{namespacemiddleware_af8347c43cdcb457a2b799f2e040b260f}
Postfix for Port number configuration parameter specifying Port number of Manager's known peer. Example: CONFIG\_\-ADDRPEER\_\-1\_\-TASKS\_\-PORT, CONFIG\_\-ADDRPEER\_\-2\_\-TASKS\_\-PORT. \hypertarget{namespacemiddleware_a778c94543f9a70031154ee911f9b92b5}{
\index{middleware@{middleware}!kCPAddrPeerXTaskDescsPortPre@{kCPAddrPeerXTaskDescsPortPre}}
\index{kCPAddrPeerXTaskDescsPortPre@{kCPAddrPeerXTaskDescsPortPre}!middleware@{middleware}}
\subsubsection[{kCPAddrPeerXTaskDescsPortPre}]{\setlength{\rightskip}{0pt plus 5cm}{\bf ConfigParam} {\bf middleware::kCPAddrPeerXTaskDescsPortPre} = \char`\"{}CONFIG\_\-ADDRPEER\_\-\char`\"{}}}
\label{namespacemiddleware_a778c94543f9a70031154ee911f9b92b5}
Prefix for Port number configuration parameter specifying Port number of Manager's known peer. Example: CONFIG\_\-ADDRPEER\_\-1\_\-TASKS\_\-PORT, CONFIG\_\-ADDRPEER\_\-2\_\-TASKS\_\-PORT. \hypertarget{namespacemiddleware_acea71523f019ca0fc9e76492068d792a}{
\index{middleware@{middleware}!kCPAddrPeerXWorkerDescsPortPost@{kCPAddrPeerXWorkerDescsPortPost}}
\index{kCPAddrPeerXWorkerDescsPortPost@{kCPAddrPeerXWorkerDescsPortPost}!middleware@{middleware}}
\subsubsection[{kCPAddrPeerXWorkerDescsPortPost}]{\setlength{\rightskip}{0pt plus 5cm}{\bf ConfigParam} {\bf middleware::kCPAddrPeerXWorkerDescsPortPost} = \char`\"{}\_\-WRKRS\_\-PORT\char`\"{}}}
\label{namespacemiddleware_acea71523f019ca0fc9e76492068d792a}
Postfix for Port number configuration parameter specifying Port number of WorkerDiscovery's known peer. Example: CONFIG\_\-ADDRPEER\_\-1\_\-WRKRS\_\-PORT, CONFIG\_\-ADDRPEER\_\-2\_\-WRKRS\_\-PORT. \hypertarget{namespacemiddleware_ab54cac5bb726249f8355414ff15cb2d0}{
\index{middleware@{middleware}!kCPAddrPeerXWorkerDescsPortPre@{kCPAddrPeerXWorkerDescsPortPre}}
\index{kCPAddrPeerXWorkerDescsPortPre@{kCPAddrPeerXWorkerDescsPortPre}!middleware@{middleware}}
\subsubsection[{kCPAddrPeerXWorkerDescsPortPre}]{\setlength{\rightskip}{0pt plus 5cm}{\bf ConfigParam} {\bf middleware::kCPAddrPeerXWorkerDescsPortPre} = \char`\"{}CONFIG\_\-ADDRPEER\_\-\char`\"{}}}
\label{namespacemiddleware_ab54cac5bb726249f8355414ff15cb2d0}
Prefix for Port number configuration parameter specifying Port number of WorkerDiscovery's known peer. Example: CONFIG\_\-ADDRPEER\_\-1\_\-WRKRS\_\-PORT, CONFIG\_\-ADDRPEER\_\-2\_\-WRKRS\_\-PORT. \hypertarget{namespacemiddleware_af9606cfdeddadae3123071daf62a83f3}{
\index{middleware@{middleware}!kCPAddrWBindPort@{kCPAddrWBindPort}}
\index{kCPAddrWBindPort@{kCPAddrWBindPort}!middleware@{middleware}}
\subsubsection[{kCPAddrWBindPort}]{\setlength{\rightskip}{0pt plus 5cm}{\bf ConfigParam} {\bf middleware::kCPAddrWBindPort} = \char`\"{}CONFIG\_\-ADDRME\_\-W\_\-PORT\char`\"{}}}
\label{namespacemiddleware_af9606cfdeddadae3123071daf62a83f3}
TCP Port of \hyperlink{classmiddleware_1_1Worker}{Worker} of the current peer in order to listen for incoming \hyperlink{classmiddleware_1_1Data}{Data} from other peers when routing executable tasks. \hypertarget{namespacemiddleware_aca4b68b279a90e2f13f6b89ca1bfc436}{
\index{middleware@{middleware}!kCPOtherPeersNum@{kCPOtherPeersNum}}
\index{kCPOtherPeersNum@{kCPOtherPeersNum}!middleware@{middleware}}
\subsubsection[{kCPOtherPeersNum}]{\setlength{\rightskip}{0pt plus 5cm}{\bf ConfigParam} {\bf middleware::kCPOtherPeersNum} = \char`\"{}CONFIG\_\-OTHERPEERS\_\-NUM\char`\"{}}}
\label{namespacemiddleware_aca4b68b279a90e2f13f6b89ca1bfc436}
Number of initial known peers defined in the configuration file; this is the number of provided peers that the current peer, when running, will automatically recognize as initial knowledge. \hypertarget{namespacemiddleware_af3c2a5fc836deac67c12430bb318ac5b}{
\index{middleware@{middleware}!kCPWorkerCapabB@{kCPWorkerCapabB}}
\index{kCPWorkerCapabB@{kCPWorkerCapabB}!middleware@{middleware}}
\subsubsection[{kCPWorkerCapabB}]{\setlength{\rightskip}{0pt plus 5cm}{\bf ConfigParam} {\bf middleware::kCPWorkerCapabB} = \char`\"{}CONFIG\_\-WORKERCAPAB\_\-B\char`\"{}}}
\label{namespacemiddleware_af3c2a5fc836deac67c12430bb318ac5b}
\hyperlink{classmiddleware_1_1Worker}{Worker} capability for current peer. Represents bandwidth available to reach the current machine. Band is expressed in Kbits. \hypertarget{namespacemiddleware_a33c50b47ca3359ebd361e7a6508c5095}{
\index{middleware@{middleware}!kCPWorkerCapabC@{kCPWorkerCapabC}}
\index{kCPWorkerCapabC@{kCPWorkerCapabC}!middleware@{middleware}}
\subsubsection[{kCPWorkerCapabC}]{\setlength{\rightskip}{0pt plus 5cm}{\bf ConfigParam} {\bf middleware::kCPWorkerCapabC} = \char`\"{}CONFIG\_\-WORKERCAPAB\_\-C\char`\"{}}}
\label{namespacemiddleware_a33c50b47ca3359ebd361e7a6508c5095}
\hyperlink{classmiddleware_1_1Worker}{Worker} capability for current peer. Represents the number of cores per CPU the architecture's machine is equiped with. \hypertarget{namespacemiddleware_a331973d21ccadd78cbc0a86a5db612ca}{
\index{middleware@{middleware}!kCPWorkerCapabD@{kCPWorkerCapabD}}
\index{kCPWorkerCapabD@{kCPWorkerCapabD}!middleware@{middleware}}
\subsubsection[{kCPWorkerCapabD}]{\setlength{\rightskip}{0pt plus 5cm}{\bf ConfigParam} {\bf middleware::kCPWorkerCapabD} = \char`\"{}CONFIG\_\-WORKERCAPAB\_\-D\char`\"{}}}
\label{namespacemiddleware_a331973d21ccadd78cbc0a86a5db612ca}
\hyperlink{classmiddleware_1_1Worker}{Worker} capability for current peer. Represents the network distance from the current peer to all the other peers. A simplifying assumption is considered: all peers have a general distance one from each other; this parameter does not measure the precise distance, just a generic one. This parameter measures distance in terms of \char`\"{}router hops\char`\"{} (adimensional number). \hypertarget{namespacemiddleware_ab6420c1be07e06eaefd48aa90461528d}{
\index{middleware@{middleware}!kCPWorkerCapabM@{kCPWorkerCapabM}}
\index{kCPWorkerCapabM@{kCPWorkerCapabM}!middleware@{middleware}}
\subsubsection[{kCPWorkerCapabM}]{\setlength{\rightskip}{0pt plus 5cm}{\bf ConfigParam} {\bf middleware::kCPWorkerCapabM} = \char`\"{}CONFIG\_\-WORKERCAPAB\_\-M\char`\"{}}}
\label{namespacemiddleware_ab6420c1be07e06eaefd48aa90461528d}
\hyperlink{classmiddleware_1_1Worker}{Worker} capability for current peer. Represents the RAM memory capacity of the current peer. This parameter measures memory in MBytes. \hypertarget{namespacemiddleware_a59c355e646580c237c346bc5696783cd}{
\index{middleware@{middleware}!kCPWorkerCapabP@{kCPWorkerCapabP}}
\index{kCPWorkerCapabP@{kCPWorkerCapabP}!middleware@{middleware}}
\subsubsection[{kCPWorkerCapabP}]{\setlength{\rightskip}{0pt plus 5cm}{\bf ConfigParam} {\bf middleware::kCPWorkerCapabP} = \char`\"{}CONFIG\_\-WORKERCAPAB\_\-P\char`\"{}}}
\label{namespacemiddleware_a59c355e646580c237c346bc5696783cd}
\hyperlink{classmiddleware_1_1Worker}{Worker} capability for current peer. Represents the number of CPUs the machine is equiped with. \hypertarget{namespacemiddleware_a0d82bd1eb52808c2a489b0e4444be7af}{
\index{middleware@{middleware}!kCPWorkerCapabZ@{kCPWorkerCapabZ}}
\index{kCPWorkerCapabZ@{kCPWorkerCapabZ}!middleware@{middleware}}
\subsubsection[{kCPWorkerCapabZ}]{\setlength{\rightskip}{0pt plus 5cm}{\bf ConfigParam} {\bf middleware::kCPWorkerCapabZ} = \char`\"{}CONFIG\_\-WORKERCAPAB\_\-Z\char`\"{}}}
\label{namespacemiddleware_a0d82bd1eb52808c2a489b0e4444be7af}
\hyperlink{classmiddleware_1_1Worker}{Worker} capability for current peer. Represents the CPU's clock frequency of the machine. Frequency is expressed in MHz. \hypertarget{namespacemiddleware_afbd66b34505369fbfd52f3fd6a3cd53d}{
\index{middleware@{middleware}!kDefWorkerCapab@{kDefWorkerCapab}}
\index{kDefWorkerCapab@{kDefWorkerCapab}!middleware@{middleware}}
\subsubsection[{kDefWorkerCapab}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf WorkerCapabilities} {\bf middleware::kDefWorkerCapab}}}
\label{namespacemiddleware_afbd66b34505369fbfd52f3fd6a3cd53d}
{\bfseries Initial value:}
\begin{DoxyCode}
 {
                0.0 ,
                0.0 ,
                0 ,
                0 ,
                0 ,
                0.0 
}
\end{DoxyCode}
When not specified, a worker has this performance. This is a null capability. \hypertarget{namespacemiddleware_a3fc91d160de66f57bd0b35e995052e39}{
\index{middleware@{middleware}!kManager1Etq@{kManager1Etq}}
\index{kManager1Etq@{kManager1Etq}!middleware@{middleware}}
\subsubsection[{kManager1Etq}]{\setlength{\rightskip}{0pt plus 5cm}const std::string {\bf middleware::kManager1Etq} = \char`\"{}TaskManager: \char`\"{}}}
\label{namespacemiddleware_a3fc91d160de66f57bd0b35e995052e39}
Etiquette for output. \hypertarget{namespacemiddleware_a2807a2ecd711de82832100dba9ccc1aa}{
\index{middleware@{middleware}!kManagerEtq@{kManagerEtq}}
\index{kManagerEtq@{kManagerEtq}!middleware@{middleware}}
\subsubsection[{kManagerEtq}]{\setlength{\rightskip}{0pt plus 5cm}const std::string {\bf middleware::kManagerEtq} = \char`\"{}MAN: \char`\"{}}}
\label{namespacemiddleware_a2807a2ecd711de82832100dba9ccc1aa}
Etiquette for output. \hypertarget{namespacemiddleware_a75fe8b130ab56e66254be31cfe1e8664}{
\index{middleware@{middleware}!kManagerMaxManPort@{kManagerMaxManPort}}
\index{kManagerMaxManPort@{kManagerMaxManPort}!middleware@{middleware}}
\subsubsection[{kManagerMaxManPort}]{\setlength{\rightskip}{0pt plus 5cm}const unsigned int {\bf middleware::kManagerMaxManPort} = 65536 -\/ 1}}
\label{namespacemiddleware_a75fe8b130ab56e66254be31cfe1e8664}
Highest port number to which the \hyperlink{classmiddleware_1_1Manager}{Manager} will listen for incoming TaskDescriptors. \hypertarget{namespacemiddleware_ac1223be43f28d43ba89a1cd979d432fa}{
\index{middleware@{middleware}!kManagerMinManPort@{kManagerMinManPort}}
\index{kManagerMinManPort@{kManagerMinManPort}!middleware@{middleware}}
\subsubsection[{kManagerMinManPort}]{\setlength{\rightskip}{0pt plus 5cm}const unsigned int {\bf middleware::kManagerMinManPort} = 1051}}
\label{namespacemiddleware_ac1223be43f28d43ba89a1cd979d432fa}
Lowest port number to which the \hyperlink{classmiddleware_1_1Manager}{Manager} will listen for incoming TaskDescriptors. \hypertarget{namespacemiddleware_a1d61149114826f7783283eadcaf13051}{
\index{middleware@{middleware}!kMaxTaskID@{kMaxTaskID}}
\index{kMaxTaskID@{kMaxTaskID}!middleware@{middleware}}
\subsubsection[{kMaxTaskID}]{\setlength{\rightskip}{0pt plus 5cm}const unsigned int {\bf middleware::kMaxTaskID} = 16000}}
\label{namespacemiddleware_a1d61149114826f7783283eadcaf13051}
Represents the highest ID assignable to a \hyperlink{classmiddleware_1_1TaskDescriptor}{TaskDescriptor}. \hypertarget{namespacemiddleware_ac260925f3d16f98639436a29a37bc1bb}{
\index{middleware@{middleware}!kMaxTasksInQueue@{kMaxTasksInQueue}}
\index{kMaxTasksInQueue@{kMaxTasksInQueue}!middleware@{middleware}}
\subsubsection[{kMaxTasksInQueue}]{\setlength{\rightskip}{0pt plus 5cm}const unsigned int {\bf middleware::kMaxTasksInQueue} = 25}}
\label{namespacemiddleware_ac260925f3d16f98639436a29a37bc1bb}
Defines the upper limit of the queue. \hypertarget{namespacemiddleware_a5e7817ba5935e03e1f03c550d117a055}{
\index{middleware@{middleware}!kMaxWorkflowID@{kMaxWorkflowID}}
\index{kMaxWorkflowID@{kMaxWorkflowID}!middleware@{middleware}}
\subsubsection[{kMaxWorkflowID}]{\setlength{\rightskip}{0pt plus 5cm}const unsigned int {\bf middleware::kMaxWorkflowID} = 16000}}
\label{namespacemiddleware_a5e7817ba5935e03e1f03c550d117a055}
Represents the maximun ID assignable to a \hyperlink{classmiddleware_1_1Workflow}{Workflow}. \hypertarget{namespacemiddleware_a8ecb5a33887118f909481eb2d639ebde}{
\index{middleware@{middleware}!kMaxWorkflowsInQueue@{kMaxWorkflowsInQueue}}
\index{kMaxWorkflowsInQueue@{kMaxWorkflowsInQueue}!middleware@{middleware}}
\subsubsection[{kMaxWorkflowsInQueue}]{\setlength{\rightskip}{0pt plus 5cm}const unsigned int {\bf middleware::kMaxWorkflowsInQueue} = 25}}
\label{namespacemiddleware_a8ecb5a33887118f909481eb2d639ebde}
Defines the upper limit of the queue. \hypertarget{namespacemiddleware_adca162cde3d0ea1ce6f9df7e3c766501}{
\index{middleware@{middleware}!kMinTaskID@{kMinTaskID}}
\index{kMinTaskID@{kMinTaskID}!middleware@{middleware}}
\subsubsection[{kMinTaskID}]{\setlength{\rightskip}{0pt plus 5cm}const unsigned int {\bf middleware::kMinTaskID} = 1}}
\label{namespacemiddleware_adca162cde3d0ea1ce6f9df7e3c766501}
Represents the lowest ID assignable to a \hyperlink{classmiddleware_1_1TaskDescriptor}{TaskDescriptor}. \hypertarget{namespacemiddleware_a5c8acee75c48466a1dbed67ba74ce7c6}{
\index{middleware@{middleware}!kMinWorkflowID@{kMinWorkflowID}}
\index{kMinWorkflowID@{kMinWorkflowID}!middleware@{middleware}}
\subsubsection[{kMinWorkflowID}]{\setlength{\rightskip}{0pt plus 5cm}const unsigned int {\bf middleware::kMinWorkflowID} = 1}}
\label{namespacemiddleware_a5c8acee75c48466a1dbed67ba74ce7c6}
Represents the minimum ID assignable to a \hyperlink{classmiddleware_1_1Workflow}{Workflow}. \hypertarget{namespacemiddleware_a41a12ab744b9794ca84be023066869a0}{
\index{middleware@{middleware}!kParameterNotFound@{kParameterNotFound}}
\index{kParameterNotFound@{kParameterNotFound}!middleware@{middleware}}
\subsubsection[{kParameterNotFound}]{\setlength{\rightskip}{0pt plus 5cm}const std::string {\bf middleware::kParameterNotFound} = \char`\"{}\char`\"{}}}
\label{namespacemiddleware_a41a12ab744b9794ca84be023066869a0}
When an element is not found in the configuration file, this value is returned. Attention: comparisons are made basing on this parameter in order to check whether a parameter was found or not. \hypertarget{namespacemiddleware_a0d2f6cb7bb067c80956f1243edbdbbac}{
\index{middleware@{middleware}!kStdWorkerCapab@{kStdWorkerCapab}}
\index{kStdWorkerCapab@{kStdWorkerCapab}!middleware@{middleware}}
\subsubsection[{kStdWorkerCapab}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf WorkerCapabilities} {\bf middleware::kStdWorkerCapab}}}
\label{namespacemiddleware_a0d2f6cb7bb067c80956f1243edbdbbac}
{\bfseries Initial value:}
\begin{DoxyCode}
 {
                800.0 ,
                512.0 ,
                2 ,
                1 ,
                1 ,
                5000.0 
}
\end{DoxyCode}
Defines the standard capabilites for a normal machine. \hypertarget{namespacemiddleware_a0a06ed18df0c57be08e15ee05de76b18}{
\index{middleware@{middleware}!kUI1Etq@{kUI1Etq}}
\index{kUI1Etq@{kUI1Etq}!middleware@{middleware}}
\subsubsection[{kUI1Etq}]{\setlength{\rightskip}{0pt plus 5cm}const std::string {\bf middleware::kUI1Etq} = \char`\"{}DataRequestManager: \char`\"{}}}
\label{namespacemiddleware_a0a06ed18df0c57be08e15ee05de76b18}
Etiquette for output. \hypertarget{namespacemiddleware_a35a0b1a425d6bd4584464055778eb2d1}{
\index{middleware@{middleware}!kUIEtq@{kUIEtq}}
\index{kUIEtq@{kUIEtq}!middleware@{middleware}}
\subsubsection[{kUIEtq}]{\setlength{\rightskip}{0pt plus 5cm}const std::string {\bf middleware::kUIEtq} = \char`\"{}UI: \char`\"{}}}
\label{namespacemiddleware_a35a0b1a425d6bd4584464055778eb2d1}
Etiquette for output. \hypertarget{namespacemiddleware_adad84ff4c3504a928f3f949e981627ac}{
\index{middleware@{middleware}!kUIMaxTasksInWorkflow@{kUIMaxTasksInWorkflow}}
\index{kUIMaxTasksInWorkflow@{kUIMaxTasksInWorkflow}!middleware@{middleware}}
\subsubsection[{kUIMaxTasksInWorkflow}]{\setlength{\rightskip}{0pt plus 5cm}const unsigned int {\bf middleware::kUIMaxTasksInWorkflow} = 5}}
\label{namespacemiddleware_adad84ff4c3504a928f3f949e981627ac}
Number of maximum tasks in a \hyperlink{classmiddleware_1_1Workflow}{Workflow} to be randomly generated. \hypertarget{namespacemiddleware_a3055c6df90e602ee9c671cece1b8fbd5}{
\index{middleware@{middleware}!kUIMaxWorkflowGeneretionPeriod@{kUIMaxWorkflowGeneretionPeriod}}
\index{kUIMaxWorkflowGeneretionPeriod@{kUIMaxWorkflowGeneretionPeriod}!middleware@{middleware}}
\subsubsection[{kUIMaxWorkflowGeneretionPeriod}]{\setlength{\rightskip}{0pt plus 5cm}const unsigned int {\bf middleware::kUIMaxWorkflowGeneretionPeriod} = 30}}
\label{namespacemiddleware_a3055c6df90e602ee9c671cece1b8fbd5}
Highest number of seconds to wait for random generation of a \hyperlink{classmiddleware_1_1Workflow}{Workflow}: \hyperlink{classmiddleware_1_1Workflow}{Workflow} production max period. \hypertarget{namespacemiddleware_a77441f08731ce81bb8d94ce946735185}{
\index{middleware@{middleware}!kWorker1Etq@{kWorker1Etq}}
\index{kWorker1Etq@{kWorker1Etq}!middleware@{middleware}}
\subsubsection[{kWorker1Etq}]{\setlength{\rightskip}{0pt plus 5cm}const std::string {\bf middleware::kWorker1Etq} = \char`\"{}StatusManager: \char`\"{}}}
\label{namespacemiddleware_a77441f08731ce81bb8d94ce946735185}
Etiquette for output. \hypertarget{namespacemiddleware_a7d023cade5e9404ccb9a7cfa0504aee8}{
\index{middleware@{middleware}!kWorker2Etq@{kWorker2Etq}}
\index{kWorker2Etq@{kWorker2Etq}!middleware@{middleware}}
\subsubsection[{kWorker2Etq}]{\setlength{\rightskip}{0pt plus 5cm}const std::string {\bf middleware::kWorker2Etq} = \char`\"{}TaskDataManager: \char`\"{}}}
\label{namespacemiddleware_a7d023cade5e9404ccb9a7cfa0504aee8}
Etiquette for output. \hypertarget{namespacemiddleware_a0b471ebdccbbbae165fd25d8dba73bae}{
\index{middleware@{middleware}!kWorker3Etq@{kWorker3Etq}}
\index{kWorker3Etq@{kWorker3Etq}!middleware@{middleware}}
\subsubsection[{kWorker3Etq}]{\setlength{\rightskip}{0pt plus 5cm}const std::string {\bf middleware::kWorker3Etq} = \char`\"{}TaskDataCollector \char`\"{}}}
\label{namespacemiddleware_a0b471ebdccbbbae165fd25d8dba73bae}
Etiquette for output. \hypertarget{namespacemiddleware_add85595b636fdc88a482e6b6534b1065}{
\index{middleware@{middleware}!kWorkerDiscoveryEtq@{kWorkerDiscoveryEtq}}
\index{kWorkerDiscoveryEtq@{kWorkerDiscoveryEtq}!middleware@{middleware}}
\subsubsection[{kWorkerDiscoveryEtq}]{\setlength{\rightskip}{0pt plus 5cm}const std::string {\bf middleware::kWorkerDiscoveryEtq} = \char`\"{}DISC: \char`\"{}}}
\label{namespacemiddleware_add85595b636fdc88a482e6b6534b1065}
Etiquette for output. \hypertarget{namespacemiddleware_a2c21f6e94303f78e046b17b6b0430544}{
\index{middleware@{middleware}!kWorkerDiscoveryMaxManPort@{kWorkerDiscoveryMaxManPort}}
\index{kWorkerDiscoveryMaxManPort@{kWorkerDiscoveryMaxManPort}!middleware@{middleware}}
\subsubsection[{kWorkerDiscoveryMaxManPort}]{\setlength{\rightskip}{0pt plus 5cm}const unsigned int {\bf middleware::kWorkerDiscoveryMaxManPort} = 65536 -\/ 1}}
\label{namespacemiddleware_a2c21f6e94303f78e046b17b6b0430544}
Highest port used to bind for listening for incoming data. \hypertarget{namespacemiddleware_a1f84698db42061a7dea1363e56eef31a}{
\index{middleware@{middleware}!kWorkerDiscoveryMinManPort@{kWorkerDiscoveryMinManPort}}
\index{kWorkerDiscoveryMinManPort@{kWorkerDiscoveryMinManPort}!middleware@{middleware}}
\subsubsection[{kWorkerDiscoveryMinManPort}]{\setlength{\rightskip}{0pt plus 5cm}const unsigned int {\bf middleware::kWorkerDiscoveryMinManPort} = 1051}}
\label{namespacemiddleware_a1f84698db42061a7dea1363e56eef31a}
Lowest port used to bind for listening for incoming data. \hypertarget{namespacemiddleware_a91489128acb5c7653d2f672b4dc5248b}{
\index{middleware@{middleware}!kWorkerEtq@{kWorkerEtq}}
\index{kWorkerEtq@{kWorkerEtq}!middleware@{middleware}}
\subsubsection[{kWorkerEtq}]{\setlength{\rightskip}{0pt plus 5cm}const std::string {\bf middleware::kWorkerEtq} = \char`\"{}W: \char`\"{}}}
\label{namespacemiddleware_a91489128acb5c7653d2f672b4dc5248b}
Etiquette for output. \hypertarget{namespacemiddleware_a2ddeb861eeee7dfb0f6dc79e553106c8}{
\index{middleware@{middleware}!kWorkerGetDataAttemptsNumber@{kWorkerGetDataAttemptsNumber}}
\index{kWorkerGetDataAttemptsNumber@{kWorkerGetDataAttemptsNumber}!middleware@{middleware}}
\subsubsection[{kWorkerGetDataAttemptsNumber}]{\setlength{\rightskip}{0pt plus 5cm}const unsigned int {\bf middleware::kWorkerGetDataAttemptsNumber} = 4}}
\label{namespacemiddleware_a2ddeb861eeee7dfb0f6dc79e553106c8}
Number of attempts to perform after declaring data not found. \hypertarget{namespacemiddleware_a2d91b5c65b19125b988f4e32b4b61aa7}{
\index{middleware@{middleware}!kWorkerGetDataWaitTimeMsec@{kWorkerGetDataWaitTimeMsec}}
\index{kWorkerGetDataWaitTimeMsec@{kWorkerGetDataWaitTimeMsec}!middleware@{middleware}}
\subsubsection[{kWorkerGetDataWaitTimeMsec}]{\setlength{\rightskip}{0pt plus 5cm}const unsigned int {\bf middleware::kWorkerGetDataWaitTimeMsec} = 5000}}
\label{namespacemiddleware_a2d91b5c65b19125b988f4e32b4b61aa7}
Time to wait before making another attemp to get data. \hypertarget{namespacemiddleware_a0684f273840489e3366364b76a443ae6}{
\index{middleware@{middleware}!kWorkerStatusManagerRefreshPeriodMsec@{kWorkerStatusManagerRefreshPeriodMsec}}
\index{kWorkerStatusManagerRefreshPeriodMsec@{kWorkerStatusManagerRefreshPeriodMsec}!middleware@{middleware}}
\subsubsection[{kWorkerStatusManagerRefreshPeriodMsec}]{\setlength{\rightskip}{0pt plus 5cm}const unsigned int {\bf middleware::kWorkerStatusManagerRefreshPeriodMsec} = 5000}}
\label{namespacemiddleware_a0684f273840489e3366364b76a443ae6}
Period of time to check worker conditions and, if something changed, send this new status to other peers. \hypertarget{namespacemiddleware_acc4da93fa4edb995ee03dd253f217fd9}{
\index{middleware@{middleware}!kWorkerTDCCollectionPeriodMsec@{kWorkerTDCCollectionPeriodMsec}}
\index{kWorkerTDCCollectionPeriodMsec@{kWorkerTDCCollectionPeriodMsec}!middleware@{middleware}}
\subsubsection[{kWorkerTDCCollectionPeriodMsec}]{\setlength{\rightskip}{0pt plus 5cm}const unsigned int {\bf middleware::kWorkerTDCCollectionPeriodMsec} = 5000}}
\label{namespacemiddleware_acc4da93fa4edb995ee03dd253f217fd9}
Period of time to check TDC and collect it. \hypertarget{namespacemiddleware_ac6af853165e5a483d538c447fb2c31c2}{
\index{middleware@{middleware}!kWorkerTDCEntryTTL@{kWorkerTDCEntryTTL}}
\index{kWorkerTDCEntryTTL@{kWorkerTDCEntryTTL}!middleware@{middleware}}
\subsubsection[{kWorkerTDCEntryTTL}]{\setlength{\rightskip}{0pt plus 5cm}const unsigned int {\bf middleware::kWorkerTDCEntryTTL} = 20}}
\label{namespacemiddleware_ac6af853165e5a483d538c447fb2c31c2}
Time To Live assignable to a entry of the TDC. 